Eric C. Rollins
Senior Software Engineer / Architect with experience in Java/J2EE, Web, Relational Database, XML, C++, and UNIX technologies. Led analysis, design, and development of innovative products in short (6-9 month) timeframes using both small teams in start-ups and cross-divisional teams in large companies. Completed many full lifecycles of iterative development on complex enterprise-scale products. Co-author database access chapter of book Code Generation in Action.
- Relational Databases: Oracle, Microsoft SQL Server, Sybase SQL Server, PostgresSQL, MySQL
- Web and Application Servers: Apache, Tomcat, BEA WebLogic, JBoss, PHP
- Operating Systems: Linux, Windows 3.1/95/98/NT/2000/XP, Mac OS X, Solaris
GOOGLE, Mountain View, CA.
Technical Staff, Sept 2005 - present
Senior Software Engineer, Jan 2004 - Sept 2005
Wrote bridges in C++ and Java to convert vendor tool XML metadata to and from MITI's OMG UML and CWM (Common Warehouse Metamodel) derived metamodel. Vendor tools include:
Implemented algorithms to trace lineage and impact analysis through multiple stitched models.
- BI (Business Intelligence) / Reporting: Cognos ReportNet, Informatica PowerAnalyzer
- ETL (Extraction, Transformation, and Load): Informatica PowerCenter
THERE, Menlo Park, CA.
Database Software Engineer, August 2003 - Jan 2004
Wrote Perl and MySQL scripts and extended C++ Apache modules to manage large Linux cluster for massively multiplayer online virtual world.
COMMIRA, San Francisco, CA.
Senior Software Engineer, April 2002 - August 2003
Led architecture and development of complex Java/J2EE Enterprise Business Process Management application for retail.
- Introduced new technologies including EJB, JSP, and metadata-driven code generation to novice Java team.
- Wrote code generation tools used by team to produce all tiers of multi-tier application: Database Schema (Oracle), Business Logic (BEA WebLogic EJB), Web Presentation (JSP).
- Embedded best practice EJB design patterns (Stateless Session Bean Facade, Value Objects, JDBC fast path queries) and corporate coding standards (datatype mappings, naming conventions, Unicode localization support for multiple languages, CSS style sheets) in generator so they were automatically utilized in all code produced by team members.
- Extended code generation technology to new level beyond database access tier. Simple declarative XML grammar was used to describe entire application including web pages, page flow, menus and activity-based workflow, role model security, and business logic exit points. Team only hand-wrote Java code for custom business logic and simple JSP widgets.
- Using these tools team produced 200+ Entity Beans and 100+ complex dynamic web pages in less than 9 months. 12 KLOC (thousand lines of code) Ruby program generated over 60 KLOC of EJB and 100 KLOC of JSP.
- Extended generator to create XML Schemas and JSP pages for XML over HTTP data import/export web service using Castor Java-XML data binding tool.
- Created and maintained ERwin/Oracle SQL schema.
- Worked with subject matter experts for requirements analysis and ER and UML modeling.
CERTIVE, Redwood City, CA.
Software Architect, Jan 2000 - Nov 2001
Developed Certive Business Intelligence System, a web-hosted time tracking and project management application for professional services firms. Provided technical team leadership in database and whole system architecture areas.
- Completed three successful releases.
- Designed application semantics.
- Developed web reporting system using HTML, Perl/Mason, SQL.
- Designed email-based exception notification system using Oracle AQ message queue.
- Wrote stored procedures in Oracle PL/SQL. Generated stored procedure skeletons from ERwin/Oracle schema input.
- Maintained ERwin/Oracle schema.
Senior Software Engineer, June 1998 - Dec 1999
Lead developer of EA Sports Tiger Woods PGA Tour Golf for the Palm Computing Platform [also available as Springboard Module from Handspring].
Wrote computer AI players for ChromaGames backgammon (neural net) and chess and checkers (min-max search) games [also included on PalmPak Games Card from Palm].
- Wrote technical design, panning playfield display, ball physics, computer AI players, game save logic.
- Programmed in C and 68000 assembly
Senior Software Engineer, Feb 1993 - Feb 1998
Chief architect for NetDirector, Newbridge's HP OpenView-based SNMP network management platform for UNIX and Windows NT. Provided technical team leadership in database and whole system architecture areas.
- Designed database tables to model network devices, topology, and status.
- Coordinated synchronization of data between HP OpenView and NetDirector databases.
- Implemented C++ (ILOG Motif) and Java (AWT) GUIs and background daemons to discover and display ATM and Ethernet switch connectivity.
- Implemented C++ (ODBC, DB-Lib) and Java (CORBA IDL, RMI, JDBC, JNI) classes to query and update Sybase and Microsoft SQL Servers.
- Implemented all database tables and Transact-SQL stored procedures.
TRW, Sunnyvale, CA
Senior Software Engineer, Feb 1991 - Feb 1993
TRW technical lead in joint development of spatial abstract data types for Ingres RDBMS.
- Implemented data types (point, line, polygon, etc.) and operators (inside, intersects, etc.) in C using Ingres Object Management Extension.
- Wrote C X/Motif GUI to query database and display spatial data types.
- Wrote C utility to load ETAK road map data into database.
ORACLE, Redwood Shores, CA.
Technical Staff, July 1989 - Feb 1991
- Participated in development of parallel / clustered RDBMS server product.
- Wrote regression tests.
- Provided technical support to RDBMS customers.
- Stanford University: Operating Systems, File and Database Systems.
- UC Berkeley Extension: Computer Graphics, Computer Networks, ATM.
- UCSC Extension: CORBA, Graphic Design, OpenGL, Molecular Biology.
- Santa Clara University: Computer Architecture, Verilog HDL, Compilers, OOA/OOD with UML, Operational Semantics.
- Stanford Continuing Studies: Anthropology, Linguistics, Social Psychology, Cognitive Neuroscience.
Code Generation in Action: Manning Publications (July 2003).